/**
 * VIDEO 14 - VIDEO 18
 * SAAJ  基于SOAP的方式访问webservice
 *
 * @author wukong(wukonggg@139.com)
 */
package band.wukong.practice.webservice.kh.sample05;

/*

================================================================================VIDEO 14 & 15
使用SOAP-UI

JukeboxServer系列

================================================================================VIDEO 16
SOAP消息操作SAAJ
payload
JukeboxClientBySAAJ.testListArtists()   // message
JukeboxClientBySAAJ.testAddArtist()     //payload

================================================================================VIDEO 17 - 18
显式Header

JukeboxService.updateArtist()

显式Header的处理方式。message中多了part
<message name="updateArtist">
    <part name="parameters" element="tns:updateArtist"/>
    <part name="authInfo" element="tns:authInfo"/>
</message>
然后wsimport生成的代码也不方便调用

================================================================================VIDEO 18
异常处理
JukeboxClientBySAAJ.removeArtist()

================================================================================VIDEO 19
1. 通过一个例子（客户端）说明handler的概念基本用法。子工程【soapclient】

LogicalHandler vs SOAPHandler
- Logicalhandler 只能获取SOAPBody的信息
- SOAPHandler可以获取SOPAMessage的消息

================================================================================VIDEO 20
soap创建客户端和服务端的handler，来解决头部信息的发送与接收

在服务端获取：
1. 在服务端编写handler，通过handler来截取信息（本例处理）
2. 在服务端显式的申明一个参数（wsdlLocation）来获取信息
   基于契约优先的方式来处理


================================================================================VIDEO 21
1. 异常的处理.  前8分钟
2. 简单的用户认证
band.wukong.practice.webservice.kh.sample05.JukeboxServerHeaderHandler
band.wukong.practice.webservice.kh.sample05.JukeboxServerHeaderHandlerPrimally


 */